<!--___INFO__MARK_BEGIN__
/*************************************************************************
 *
 *  The Contents of this file are made available subject to the terms of
 *  the Sun Industry Standards Source License Version 1.2
 *
 *  Sun Microsystems Inc., March, 2001
 *
 *
 *  Sun Industry Standards Source License Version 1.2
 *  =================================================
 *  The contents of this file are subject to the Sun Industry Standards
 *  Source License Version 1.2 (the "License"); You may not use this file
 *  except in compliance with the License. You may obtain a copy of the
 *  License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
 *
 *  Software provided under this License is provided on an "AS IS" basis,
 *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 *  See the License for the specific provisions governing your rights and
 *  obligations concerning the Software.
 *
 *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 *
 *  Copyright: 2001 by Sun Microsystems, Inc.
 *
 *  All Rights Reserved.
 *
 ************************************************************************/
___INFO__MARK_END__-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
    <title>Installing hosts</title>
</HEAD>
<BODY LANG="en-US" DIR="LTR">
<H1>Select hosts &amp; Installing</H1>
<P>This screen allows to select hosts and components that one would
like to install. Express installation mode has a slightly simplified
selection model, a full version will appear only in the custom
installation mode. The qmaster host is added based on the <B>Qmaster
host</B> value from the <I>Main configuration</I> screen by default. 
</P>
<P><BR>
</P>
<H2>Selecting hosts</H2>
<P>You can select the hosts by a host name, host name pattern, an IP
address or IP address pattern. Custom installation mode displays an
additional component selection panel. Before pressing the <I>Add</I>
button, one may setup a selection of components which will be applied
to the hosts when button is pressed (available only for custom
installation). 
</P>
<P STYLE="font-style: normal">Default component selection for both
types of installation (express and custom) is displayed in the
following table:</P>
<CENTER>
	<TABLE WIDTH="95%" BORDER=1 CELLPADDING=2 CELLSPACING=0>
		<COL WIDTH="32*">
		<COL WIDTH="113*">
		<COL WIDTH="112*">
		<TR>
			<TH WIDTH="12%">
				<P>Component</P>
			</TH>
			<TH WIDTH="44%">
				<P>Description</P>
			</TH>
			<TH WIDTH="44%">
				<P>Default Value</P>
			</TH>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#000000">Shadow daemon</FONT></P>
			</TD>
			<TD WIDTH="44%">
				<P>Provides a high availability. Takes over the main qmaster
				daemon when it becomes unavailable.</P>
			</TD>
			<TD WIDTH="44%">
				<P>Not selected</P>
				<P><BR>
				</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P>Execution daemon</P>
			</TD>
			<TD WIDTH="44%">
				<P>Execution daemon is responsible for execution jobs and
				reporting host status.</P>
			</TD>
			<TD WIDTH="44%">
				<P>Selected</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P>Admin host</P>
			</TD>
			<TD WIDTH="44%">
				<P>Administrative commands can be run only from the admin hosts
				as a user who belongs either to managers or operators</P>
			</TD>
			<TD WIDTH="44%">
				<P>Not selected</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P>Submit Host</P>
			</TD>
			<TD WIDTH="44%">
				<P>Submit host can be used to submit jobs to Grid Engine.</P>
			</TD>
			<TD WIDTH="44%">
				<P>Selected</P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<P><BR>
</P>
<P STYLE="margin-bottom: 0in">See following table for supported
pattern syntax. The patterns do not support regular expressions. The
supported expressions are lists and numeric ranges. 
</P>
<CENTER>
	<TABLE WIDTH="95%" BORDER=1 CELLPADDING=2 CELLSPACING=0>
		<COL WIDTH="47*">
		<COL WIDTH="84*">
		<COL WIDTH="125*">
		<TR>
			<TH WIDTH="18%">
				<P>Description</P>
			</TH>
			<TH WIDTH="33%">
				<P>Input</P>
			</TH>
			<TH WIDTH="49%">
				<P>Resolved as</P>
			</TH>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>Host name</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>grid00</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>grid00</TT></P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>IP address</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>192.168.0.1</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>192.168.0.1</TT></P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>List of hosts</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>grid00 grid01 grid05</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>grid00, grid01, grid05</TT></P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>List of IP addresses</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>192.168.0.1 192.168.0.2 192.168.0.5</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>192.168.0.1, 192.168.0.2, 192.168.0.5</TT></P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>Host ranges</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>grid[00-10]</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>grid00, grid01, ..., grid10</TT></P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="18%">
				<P>Range of IP addresses</P>
			</TD>
			<TD WIDTH="33%">
				<P><TT>192.[168-169].0.[50-60]</TT></P>
			</TD>
			<TD WIDTH="49%">
				<P><TT>192.168.0.50 ... 192.168.0.60, 192.169.0.50 ...
				192.169.0.60</TT></P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<P><BR>
</P>
<H2>Configuring hosts</H2>
<P>
By performing right mouse click on the host selection table and selecting
'Configure...' menu item, you can reach the host configuration window. Here you
can modify host specific values for the selected/all hosts have been added to the table.
<UL>
<LI><P><B>Local execd spool directory</B> &mdash; The pathname of the local spool directory
        for the execution host. If differs from the global spool directory this value will be used.
        The specified admin user must have the right to create this directory and
        to write into it.</P>
<LI><P><B>JVM library path</B> &mdash; Path to the JVM library on the qmaster and/or shadow host(s).
        Be sure to enter a correct path! If you are on a 64-bit system you may
        have executed the GUI installer in default Java<SUP>TM</SUP> 32-bit mode.
        In that case the detected path to the library will be for a 32-bit Java<SUP>TM</SUP>
	and thread will fail to start later in 64-bit mode. Leave it empty for auto detection.</P>
<LI><P><B>Additional JVM args</B> &mdash; Additional arguments to be used when starting
        the JVM on qmaster and/or shadow host(s). Default is <I>-Xmx256m</I></P>
<LI><P><B>Connect user</B> &mdash; The user name that will be used to connect to the remote host.</P>
<LI><P><B>Resolve timeout</B> &mdash; A timeout value for any operation in a resolve_pool
        (resolving hosts, refreshing host states, copying an installation script to remote host).
        Increase the default value if you see hosts with <FONT COLOR="#ff0000">Unreachable</FONT>
        state and you are sure that password-less access is working correctly for the connect user.</P>
<LI><P><B>Install timeout</B> &mdash; A timeout value for any installation task.
        Increase the default value if you see that the installation tasks are
        failing with a <FONT COLOR="#ff0000">Timeout</FONT> state.</P>
</UL>

<H2>Explanation of Host and Install Task States</H2>
<P>Complete lists and description of all possible states one may
encounter in this screen can be found below. The states can be
divided in to 3 categories:</P>
<H3><B>Host resolving</B></H3>
<P STYLE="margin-top: 0in">When a new host is added in the host selection screen it get
immediately state of a <FONT COLOR="#ff0000">New unknown host</FONT>
and resolving process is started. The host is marked as <FONT COLOR="#008000">Reachable</FONT>
only if we can retrieve it's architecture. All other states specify
an error. The GUI installer won't be able to perform any installation
on such host. Following table lists all possible states:</P>
<CENTER>
	<TABLE WIDTH="95%" BORDER=1 CELLPADDING=2 CELLSPACING=0>
		<COL WIDTH="39*">
		<COL WIDTH="217*">
		<TR>
			<TH WIDTH="15%">
				<P>State</P>
			</TH>
			<TH WIDTH="85%">
				<P>Description</P>
			</TH>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">New unknown host</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Initial host state. When host is added it will immediately
				start resolving it's name/address if we have available threads in
				the resolve pool.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P>Resolving</P>
			</TD>
			<TD WIDTH="85%">
				<P>Temporary state. Host is being resolved based on the host name
				or address via default name service.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">Unknown host</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Final state. Host could not be resolved by the name service.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">Resolvable</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Both temporary and final state. Once host has been resolved and if we
                                have available threads in the resolve pool, we immediately try to get the
				host's architecture via an ssh or rsh call. If this is the final state,
				the installer was probably not able to ssh/rsh to the host without a password.
				Check the tooltip message for more information. Right-click on the host and
				select 'Configure...' action and verify that the intended 'Connect user' has been
                                used for remote connection on that host.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P>Contacting</P>
			</TD>
			<TD WIDTH="85%">
				<P>Temporary state. Host has been resolved and it's architecture
				is being retrieved.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">Missing remote file</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Final state. Missing file '$SGE_ROOT/util/arch' on remote
				host.Is the <EM>sge-root</EM> path the same of the remote host
				and on the local host? If not, either fix that or refer to using
				path aliasing.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#008000">Reachable</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Final state. Host architecture could be retrieved.
				Password-less <TT>ssh</TT> or <TT>rsh</TT> to remote hosts is
				working properly.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">Unreachable</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Final state. Host architecture could NOT be retrieved.
				Password-less <TT>ssh</TT> or <TT>rsh</TT> to remote hosts is
				not working properly.
				</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="15%">
				<P><FONT COLOR="#ff0000">Canceled</FONT></P>
			</TD>
			<TD WIDTH="85%">
				<P>Final state. User canceled further host resolving.</P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<P><BR>
</P>
<H3><B>Host validation</B></H3>
<P STYLE="margin-top: 0in">Once the hosts have been resolved, including their architecture,
they are placed to the <TT>Reachable</TT> tab. Installation can be
done only on the hosts that are in <FONT COLOR="#008000">Reachable</FONT>
state. Pressing <TT>Install</TT> button first invokes additional
remote host validation. If the installer discovers any configuration
errors (see red and orange states in the list below), installation is
not started and user is informed about this fact. He can return to
the host selection or proceed with the installation anyway.</P>
<CENTER>
	<TABLE WIDTH="95%" BORDER=1 CELLPADDING=2 CELLSPACING=0>
		<COL WIDTH="31*">
		<COL WIDTH="105*">
		<COL WIDTH="120*">
		<TR>
			<TH WIDTH="12%">
				<P>State</P>
			</TH>
			<TH WIDTH="41%">
				<P>Description</P>
			</TH>
			<TH WIDTH="47%">
				<P>Problem Resolution</P>
			</TH>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ff0000">Copy timeout</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Timeout occurred when copying <TT>check_host</TT> or
				<TT>install_component</TT> files.See tooltip for the exact file
				name.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Try again (press <TT>Install</TT> button one more time).If
				timeout reoccurs, save your host list to a file, stop the
				installer and restart it with increased timeout values. See
				tweaking start_gui_installer.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ff0000">Copy failed</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Copying files <TT>check_host</TT> or <TT>install_component</TT>
				to the remote host failed.See tooltip for the exact file name.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Try again (press <TT>Install</TT> button one more time).If
				problems reoccurs try to copy any file with <TT>scp</TT> or <TT>rcp</TT>
				to verify these commands work properly. If not make sure they do
				before new installation attempt.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ffa500">Permission denied</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Either the Berkeley DB, qmaster, execution daemon spool
				directory, or JMX keystore file is not writable. See tooltip for
				the exact message. Installation will most likely fail, if you
				proceed anyway.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Did you start the installation as
				root? What permissions are
				for the first existing directory? Are you on a NFS file system
				with <TT>root</TT> mapped to
				<TT>nobody</TT>? Is the UID for the
				admin user the same on the local and remote machine?</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ffa500">Admin user missing</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>The admin user entered in the main configuration screen does
				not exist on the remote machine.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Setup the host properly so that name service provides the name
				properly to the remote machine (or create the user locally).</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ffa500">Directory exists</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Berkeley DB spool directory already exists!</P>
			</TD>
			<TD WIDTH="47%">
				<P>Check the remote host for existing Berkeley DB
				installations. Remove the existing directory.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ffa500">Wrong FS type</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Specified Berkeley DB spool directory is not on a local file
				system.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Go back to the spooling configuration screen and choose a
				proper local directory.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ffa500">Unknown error</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Unknown error has occurred.</P>
			</TD>
			<TD WIDTH="47%">
				<P>Try again (press <TT>Install</TT> button one more time).If
				reoccurring, ignore and try to install anyway.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#008000">Reachable</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>Validation did not discover any issues for this remote host.</P>
			</TD>
			<TD WIDTH="47%">
				<P>&nbsp;</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="12%">
				<P><FONT COLOR="#ff0000">Canceled</FONT></P>
			</TD>
			<TD WIDTH="41%">
				<P>User canceled further host validation.</P>
			</TD>
			<TD WIDTH="47%">
				<P>&nbsp;</P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<P><BR>
</P>
<H3><B>Installation states</B></H3>
<P STYLE="margin-top: 0in">When the installation is started the host list with the chosen
components is transformed to a task list. The task list is better
suited to handle dependencies. These are the states one may encounter
during the installation.</P>
<CENTER>
	<TABLE WIDTH="95%" BORDER=1  CELLPADDING=2 CELLSPACING=0>
		<COL WIDTH="44*">
		<COL WIDTH="212*">
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#008000">Waiting</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task is waiting to be executed.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P>Processing</P>
			</TD>
			<TD WIDTH="83%">
				<P>Temporary state. Task is being processed.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#ff0000">Timeout</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task did not finish before timeout value has been reached.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#008000">Success</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task finished successfully.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#ff0000">Failed</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task finished unsuccessfully. Click the <TT>Log</TT> button to
				get more information.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#ff0000">Failed due to dependency</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task was not started, because it depended on a task that
				failed. Click the <TT>Log</TT> button to get more information.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#ff0000">Component already exists</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>Task was not started. The installation detected a previous
				conflicting component installation. Click the <TT>Log</TT> button
				to get more information. Remove any remains of the old
				installation, before trying again.</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="17%">
				<P><FONT COLOR="#ff0000">Canceled</FONT></P>
			</TD>
			<TD WIDTH="83%">
				<P>User canceled the installation process.</P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<P><BR>
</P>
</BODY>
</HTML>
